package accesoADatos;

import oda.ODT_Devoluciones;
import oda.ODT_Honorario;
import oda.ODT_HonorariosCausados;
import oda.ODT_PagosEfectuados;

import org.json.simple.JSONObject;
import org.json.simple.JSONArray;

import util.Cons;

public class TRN_honorario {
	
	public JSONObject getTest(){
		JSONObject obj=new JSONObject();
	    JSONArray list = new JSONArray();
	    JSONArray list2 = new JSONArray();
	    JSONObject SUBobj1=new JSONObject();
	    JSONObject SUBobj2=new JSONObject();
	    JSONObject SUBobj3=new JSONObject();
	    JSONObject SUB_obj1=new JSONObject();
	    JSONObject SUB_obj2=new JSONObject();
	    JSONObject SUB_obj3=new JSONObject();
	    
	    SUBobj1.put("monto","500.00");
	    SUBobj1.put("fecha","11/10/2011");
	    
	    SUBobj2.put("monto","200.00");
	    SUBobj2.put("fecha","12/12/2011");
	    
	    SUBobj3.put("monto","30.00");
	    SUBobj3.put("fecha","13/03/2103");
	            list.add(SUBobj1);
	            list.add(SUBobj2);
	            list.add(SUBobj3);
	    ///////////////////////////////////////////////////////////////
	    SUB_obj1.put("monto","100.00");
	    SUB_obj1.put("IdDoc","13R123123");
	    
	    SUB_obj2.put("monto","25.00");
	    SUB_obj2.put("IdDoc","13R123123");
	    
	    SUB_obj3.put("monto","36.00");
	    SUB_obj3.put("IdDoc","13R123123");
	    //////////////////////////////////////////////////////////////
	    
	    
	            list2.add(SUB_obj1);
	            list2.add(SUB_obj2);
	            list2.add(SUB_obj3);
	                
	            obj.put("fecha","22/11/2013");
	            obj.put("lista honorarios",list2);
	            obj.put("lista devoluciones",list);
	            obj.put("listapagos efectuados",list);
	        
	        
	            return obj;
	
	}
	
	public ODT_Honorario getHonorario(JSONObject JSO_honorario){
		ODT_Honorario salida= new ODT_Honorario();
		//castiando fecha
		Object fecha=JSO_honorario.get(Cons._Honorario_Fecha);
		String str_fecha= fecha.toString();
		//casting lista honorarios
		Object LstHonorario=JSO_honorario.get(Cons._Honorario_ListaHonorario);
		JSONArray JSONArray_Honorario=(JSONArray)LstHonorario;
		//castin lista de devoluciones
		Object LstDevoluciones=JSO_honorario.get(Cons._Honorario_ListaDevoluciones);
		JSONArray JSONArray_Devolucion=(JSONArray)LstDevoluciones;
		//casting lista
		Object LstPagos=JSO_honorario.get(Cons._Honorario_ListaPagosEfectuados);
		JSONArray JSONArray_Pagos=(JSONArray)LstPagos;
		
		//setear los valores en el ODT
		salida.setFecha_ingreso(str_fecha);
		
		for (int i = 0; i < JSONArray_Honorario.size(); i++) 
		{
			
			ODT_HonorariosCausados honorariosCausados=new ODT_HonorariosCausados();
			JSONObject objHonorario=(JSONObject) JSONArray_Honorario.get(i);
			//asignar monto
			String STR_monto=(String) objHonorario.get(Cons._honorario_listaHonorario_monto);
			float monto= Float.parseFloat(STR_monto);
			honorariosCausados.setMonto(monto);
			//asignar 
			String STR_NombreDoc=(String) objHonorario.get(Cons._honorario_listaHonorario_NombreDocumento);
			honorariosCausados.setNombreDocumento(STR_NombreDoc);
			//agregar honorarios Causados a la estructura de honorarios
			salida.addHonorario(honorariosCausados);
			
		}
		
		for (int i = 0; i < JSONArray_Devolucion.size(); i++) 
		{
			
			ODT_Devoluciones devolucion =new ODT_Devoluciones();
			
			JSONObject objDevolucion=(JSONObject) JSONArray_Devolucion.get(i);
			//asignar monto
			String STR_monto=(String) objDevolucion.get(Cons._Honorario_ListaDevoluciones_monot);
			float monto= Float.parseFloat(STR_monto);
			devolucion.setMonto(monto);
			//asignar 
			String STR_FechaDevolucion=(String) objDevolucion.get(Cons._Honorario_ListaDevoluciones_fecha);
			devolucion.setFecha(STR_FechaDevolucion);
			//agregar a las devoluciones  a la estru de honoraariso
			salida.addDevoluciones(devolucion);
			
		}
		
		for (int i = 0; i < JSONArray_Pagos.size(); i++) {
			ODT_PagosEfectuados PagoEfectuado =new ODT_PagosEfectuados();

			JSONObject objPago=(JSONObject) JSONArray_Pagos.get(i);
			//asignar monto
			String STR_monto=(String) objPago.get(Cons._Honorario_ListaPagosEfectuados_monto);
			float monto= Float.parseFloat(STR_monto);
			PagoEfectuado.setMonto(monto);
			//asignar 
			String STR_Fecha=(String) objPago.get(Cons._Honorario_ListaPagosEfectuados_fecha);
			PagoEfectuado.setFecha(STR_Fecha);
			//agregar a las devoluciones  a la estru de honoraariso
			salida.addPagoEfectuado(PagoEfectuado);
		}
		
		
		
		return salida;
	}

}
